#pragma once

#include "Component.h"
#include "GLFont2D.h"
#include "ColorRGB.h"

namespace game_engine { namespace components
{

/*!
 * \class SimpleText
 * \brief 
 */
class SimpleText : public Component
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////
private:
    open_gl::GLFont2D font;
    string text;
    BOOL hudElement;

///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    SimpleText(void);
    SimpleText(GameObject *obj, const open_gl::FontType &f, const utils::ColorRGB &c,
        const BOOL hud = true);
    virtual ~SimpleText(void);

    // Others
    void render(void) throw(...);

    // Getters
    const string& getText(void) const;

    // Setters
    void setText(const string &txt);
	void setFontType(const open_gl::FontType &f);
	void setColor(const utils::ColorRGB &c);

};

}}
